package caiziyou.com.juc.volatiles;

/**
 * 内存可见性的问题
 * @author caijianchao
 * @date 2020年5月9日
 * VolatileDemo2.java
 */
public class VolatileDemo2 {
	public static void main(String[] args) {
//		MyThread t1 = new MyThread();
//		new Thread(t1).start();
//		while (true) {
//			if (t1.isFlag()) {
//				System.out.println("t1----------");
//				break;
//			} 
//		}
		
		MyThread t2 = new MyThread();
		new Thread(t2).start();
		while (true) {
			synchronized (t2) {				
				if (t2.isFlag()) {
					System.out.println("t2----------");
					break;
				} 
			}
		}
	}
}

class MyThread implements Runnable {

	public boolean flag = false;

	@Override
	public void run() {
		flag = true;
	}

	public boolean isFlag() {
		return flag;
	}

	public void setFlag(boolean flag) {
		this.flag = flag;
	}

}